<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width= , initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <!-- :key与diff算法有关
             数据响应式的，重新渲染更快，直接中间插入一个li而不是改改改，改到作候再插入一个li
             试下app.names.splice(2,0,'F')
        -->
       <ul>
           <li v-for="item in names" :key="item">{{item}}</li>
       </ul>
        <button @click="btnClick">按钮</button>
        <ul>
            <li v-for="item in names" >{{item}}</li>
        </ul>
    </div>
    <script src="../js/vue.js"></script>
    <script>
        // 小问题： 切换时input框里的数据不会消失  vue底层元素复用，为了性能
         const app = new Vue({
            el: '#app',    
            data: {    
                names: ['aaa','bbb','ccc','ddd'],
                info: {
                    name: 'why',
                    age: 18,
                    height: 1.88
                }
            },
            methods: {
                
                btnClick() {
                    // 1.push方法
                    // this.names.push('aaa');
                    //  pop,shift,unshift,splice,splice(start),sort,reverse  都可以试一下
                    

                    // 上面都是响应式的，下面这个不是响应式的
                    // this.names[0] = 'bbb';
                    // 可以用替换的方法代替上面的方法
                    // 也可以用下面的方法,不推荐，因为别扭
                    Vue.set(this.names,0,'bbbbbbb');
                }
            }
        })


      
    </script>
</body>
</html>